package com.whut.monitor.service;


import com.whut.monitor.vo.DiagnosisSensorVo;

import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * @author Sandeepin
 *         HBase服务层接口
 */
public interface IHbaseService {
    // 向HBase添加数据
    Boolean adds(Map<String, String> pac2HbaseMap);
    // 从HBase查找数据
    String[][] finds(String date, String idArray, Map<String, String> map);
    // 从HBase查找传感器诊断数据
    List<DiagnosisSensorVo> findStatiData(String date, String sensorID);
    // HBase每天历史数据同步 - 魏世杰
    Boolean syncData(Map<String, String> contentMap) throws IOException;
    // 搜索各类传感器数据合并文件 - 杨赟
    boolean searchs(String date,String devNumEn,String sensorType,Map<String, String> map);
    // 合并从HBase中取的数据到csv中 - 按实际数据有的时间段生成，取交集
    String combineToCsv(String startTime, String endTime, String[] idArray) throws IOException;
    // 合并从HBase中取的数据到csv中 - 按用户定义的时间段生成，不足补零
    String combineToCsvAddZero(String startTime, String endTime, String[] idArray) throws IOException, ParseException, NoSuchAlgorithmException;
    // 环境温度、电类传感器、FBG诊断
    Map<String, String> diagnosisSensor(String date);
    // 环境温度、电类传感器、FBG诊断 - 诊断结果缓存查询
    String diagnosisSensorCacheFind(String date);
    // 环境温度、电类传感器、FBG诊断 - 诊断结果缓存添加
    boolean diagnosisSensorCacheAdd(String rowKey, String value);
    // test
    String test(String arg1);
}
